unit u_pesquisaunidademedida;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, u_pesquisapadrao, FMTBcd, DB, DBClient, Provider, SqlExpr,
  StdCtrls, AdvEdit, Grids, DBGrids, AdvGlowButton, ExtCtrls, JvExDBGrids,
  JvDBGrid, AdvGroupBox;

type
  TFRM_PesquisaUnidadeMedida = class(TFRM_PesquisaPadrao)
    cdsPesquisarCOD_UNIDADE: TIntegerField;
    cdsPesquisarDESCRICAO: TStringField;
    cdsPesquisarABREVIACAO: TStringField;
    cdsPesquisarESTADO_FISICO: TStringField;
    sqlPesquisarUnidForma: TSQLQuery;
    cdsPesquisarOP_CONVERSAO: TStringField;
    cdsPesquisarVALOR_CORRESPONDENTE: TIntegerField;
    procedure edtPesquisarKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormShow(Sender: TObject);
  private

  public
    procedure PesquisaListaRegistro(Tipo:boolean);
    procedure PesquisaListaUnidForma(CodForma: integer);
  end;

var
  FRM_PesquisaUnidadeMedida: TFRM_PesquisaUnidadeMedida;

implementation

{$R *.dfm}

procedure TFRM_PesquisaUnidadeMedida.edtPesquisarKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  cdsPesquisar.Locate('descricao',edtPesquisar.Text,[loPartialKey,loCaseInsensitive]);
end;

procedure TFRM_PesquisaUnidadeMedida.PesquisaListaRegistro(Tipo:boolean);
begin
  cdsPesquisar.close;
  if Tipo     then sqlPesquisar.SQL.Add(' where u.unid_especial = ''True''  ');
  if not Tipo then sqlPesquisar.SQL.Add(' where u.unid_especial = ''False'' ');
  sqlPesquisar.SQL.Add('order by u.descricao');
  cdsPesquisar.Open;
end;

procedure TFRM_PesquisaUnidadeMedida.FormShow(Sender: TObject);
begin
  lblTotal.Caption := 'Total: '+ IntToStr(cdsPesquisar.RecordCount) + ' unidades de medida';
end;

procedure TFRM_PesquisaUnidadeMedida.PesquisaListaUnidForma(CodForma: integer);
begin
  cdsPesquisar.Close;
  dspPesquisar.DataSet := sqlPesquisarUnidForma;
  sqlPesquisarUnidForma.Params[0].AsInteger := CodForma;
  cdsPesquisar.Open;
end;

end.
